package com.pine.dbant.common.plugin.meta;

import java.util.List;

/**
 * @Description: 元数据分析过滤器
 * @Author: xiaoyuan
 * @Date: 2022/1/19 14:48
 */
public interface MetaAnalysisFilter {


    /**
     * 过滤catalog
     */
     MetaAnalysisFilter ignoreCatalogs(List<String> catalogs);

    /**
     * 过滤schema
     */
     MetaAnalysisFilter ignoreSchemas(List<String> schemas);

    /**
     * 过滤 表名
     * @param tbNames
     */
     MetaAnalysisFilter ignoreTableNames(List<String> tbNames);

    /**
     * 过滤catalog
     * @param catalog catalog
     * @return 若需要被忽略, 则返回true
     */
    boolean checkIgnoreCatalog(String catalog);

    /**
     * 过滤schema
     * @param schema schema
     * @return 若需要被忽略, 则返回true
     */
    boolean checkIgnoreSchema(String schema);

    /**
     * 过滤 表名
     * @param tbName tbName
     * @return 若需要被忽略, 则返回true
     */
    boolean checkIgnoreTableName(String tbName);
}
